Fast Haptic Rendering of Complex Objects Using Subdivision Surfaces
نویسندگان
چکیده
Haptic rendering of meshes of arbitrary topology is a difficult and time-consuming process. This paper presents the use of subdivision surfaces in order to solve this problem. An overview of subdivision surfaces is given and the algorithms needed to calculate the surface contact point are discussed. We will show that this algorithm is faster than traditional algorithms. Introduction and Related Work Haptic rendering of complex objects needs a lot of calculating power. Even with modern computers, limiting the number of calculations that need to be made on a complex object can be very difficult. Two approaches are frequently used: mathematical representations of the objects, and polygonal models. The GHOST SDK (SensAble, 2001) uses both methods: a mathematical representation is used for simple shapes, such as cubes and cones, while arbitrary meshes are represented by a polygonal model. Most of the time, only a limited number of polygons is used in order to keep the calculations within the 1ms interval of the haptics loop. However, this also limits the precision of the model. An alternative is the use of mathematical representations, such as NURBS. This however introduces other problems: representing models of arbitrary topology is for instance very difficult. In our research, we would also like to deform the objects. Using NURBS, the seams of the patchwork can become visible during deformation. This problem also occurs in computer animation and has been solved by using subdivision surfaces. A famous example is the Pixar movie “Geri’s Game” (DeRose et al., 1999). Subdivision Surfaces A subdivision surface is a surface that is defined as the limit of a series of refinements M1,M2, . . ., starting from an original control mesh M0. Because of this property, they support level-of-detail. Since they can also be used to efficiently represent objects of arbitrary topology, and they can be modified easily to support features such as creases and boundaries, it is no surprise subdivision surfaces are already used in computer graphics and computer animation. Figure 1 shows a control mesh and the first refinement. A wide variety of subdivision schemes for surfaces exist, with an equally large variety in properties. Two of the most well-known subdivision schemes for surfaces are the Catmull-Clark scheme, which works on quadrilateral meshes, as described in (Catmull and Clark, 1978), and the Loop scheme, which is triangular (Loop, 1987). The types of surfaces generated by these schemes differ, but the general principles of subdivision surfaces remain the same. In our research, we use the triangular loop scheme because triangular polygons are very well suited for modelling freeform surfaces, and they can be easily connected to an arbitrary configuration . For a detailed explanation of subdivision and subdivision surfaces, we refer the interested reader to (Zorin and Schröder, 2000). The Loop scheme, based on the three-dimensional box spline, is an approximating face-split scheme for triangular meshes, invented by Charles Loop. The resulting surfaces are C everywhere except at extraordinary vertices — with a valence different from 6 — where they are C. Figure 1: Loop control mesh and first refinement An iteration of the scheme consists of two stages. In the first stage, known as the splitting stage, a new vertex is added in the middle of each edge, and both the old and new vertices are connected to form 4 new triangles for each old triangle. In the smoothing stage, all vertices are averaged with their surrounding vertices. This smoothing step, together with the weights used, is visualized in figure 2. Loop’s original choice for β was β = 1 k ( 5 8 − ( 3 8 + 1 4cos( 2π k ) ), where k is the valence of the central vertex, but other choices are possible as well (Warren, 1995). Figure 2 also shows that the support — which is the region over which a point influences the shape of the limit surface — of the Loop scheme is small and limited. Figure 2: Subdivision Mask of the Loop Scheme Calculations using Loop Surfaces During haptic rendering of polygon meshes, all of the object’s faces generally need to be processed. This is no longer necessary with subdivision surfaces. The multiresolution properties of subdivision surfaces can be exploited so that only the control mesh has to be processed as a whole. In the processing stages of the following, more detailed, subdivision levels, the results of the previous test are used, thus leading to a smaller number of polygons that have to be processed. This leads to a huge increase in speed. As mentioned in the previous section, a subdivision surface is defined as the limit of a series of surfaces. This gives rise to two interesting properties: • Every face at level n− 1 can be linked to four faces at subdivision level n. • As can be seen from figure 2, the new co-ordinates of a vertex are influenced by the surrounding vertices. Using the loop subdivision scheme, most vertices have a valence of 6, so 6 vertices are needed to calculate the new co-ordinates. Generalizing this for a triangle (figure 3), each vertex of the triangle is influenced by its 6 neighboring triangles. Since a number of these neighboring triangles are shared, 12 neighboring triangles are needed to calculate the new co-ordinates of each of the triangle’s vertices. The grey triangle in figure 3 is the triangle that is subdivided. Figure 3: Area which influences a single triangle The next two sections explain the 2 problems that need to be solved. In both cases the algorithm starts from the control mesh at level 0, leading to an accuracy up to an arbitrary subdivision level n, which contains 4 times as much triangles as level 0 does. Performing the inside-outside test Consider a control mesh M0, consisting of a triangles. The following steps describe the algorithm that checks wether a point p lies inside or outside the object. 1. Shoot a semi-infinite ray, starting at point p. 2. Select all the intersected faces and the face closest to the point being tested. 3. Extend this selection by including all triangles in the 1-neighborhoods of all vertices of the intersected faces. 4. Replace all the selected faces by their subdivided children. The number of triangles is multiplied by 4. Again test all triangles in this selection for intersection with the ray. 5. Check wether the number of intersections found is different from the previous number. This can happen because the refined meshes ”shrink” in areas where the control mesh is convex. In concave regions, the refined meshes grow outside of the control mesh. If the number has changed, go to step 7, otherwise proceed with step 6. 6. If the required subdivision level is not yet reached, go to step 2. 7. If the number of intersections is odd, the point lies inside the polymesh. Otherwise it lies outside the polymesh. Calculating the SCP Using the results of the previous calculations, the SCP can be calculated. 1. If in the previous algorithm the required subdivion level is found go directly to step 7. 2. Select those faces from the selected faces of the current subdivision level which are closest to the point being tested. 3. Extend the selection to faces which contain vertices in the 1-neighborhood of all vertices in the selected faces. 4. Replace the selection with its next subdivision level. 5. Select the closest face from the previous selection. 6. If the required subdivision level is not yet reached, go to step 3. 7. Calculate the exact intersection point of the closest face. This is the SCP. 8. For each vertex of the triangle the limit normal vector is calculated by taking the vector product of the following two vectors.
منابع مشابه
Haptic Rendering of Subdivision Surfaces
This report presents a new way of representing subdivision surfaces in a combined haptic and graphic environment. Subdivision surfaces is a technique for rendering smooth surfaces built up by arbitrary formed meshes and is primarily used in computer modeling and animation. Haptics can be described as rendering forces describing the outline of virtual objects aiming to enhance the realism by add...
متن کاملSolving the \nearest Point on Object" Problem Using Recursive Subdivision Solving the \nearest Point on Object" Problem Using Recursive Subdivision
Finding the nearest point on a given 2D or 3D object computation is a problem that arises in many computer graphics applications, such as interactive modeling, rendering of implicit surfaces or collision detection. Unfortunately, for objects with complex geometry such as curves or surfaces, the computation cost becomes prohibitive as a minimization process acting in multiple dimensions has to b...
متن کامل6-DoF Haptic Rendering of Static Coulomb Friction Using Linear Programming
Simulating frictional contact between objects with complex geometry is important for 6-DoF haptic rendering applications. For example, friction determines whether components can be navigated past narrow clearances in virtual assembly. State-of-the-art haptic rendering of frictional contact either augments penalty contact with frictional penalty springs, which do not prevent sliding and cannot r...
متن کاملAdaptive Rendering of Catmull-Clark Subdivision Surfaces based on Inscribed Approximation
Subdivision provides a powerful scheme for building smooth and complex surfaces. But the number of faces in the uniformly refined meshes increases exponentially with respect to subdivision depth. Adaptive rendering reduces the number of faces needed to yield a smooth approximation to the limit surface and, consequently, makes the rendering process more efficient. In this paper, we present a new...
متن کاملSpace Subdivision for Fast Polygonization of Implicit Surfaces
This paper presents the basic principles for the visualization of objects which are defined by implicit functions and CSG trees. The basic principles (Marching cubes, Marching tetrahedra and Marching triangles) for iso-surfaces rendering of such objects are compared. A new fast modification of the Marching triangles algorithm is presented and compared with others algorithms. It is based on the ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001